package com.cbtx.module_sp.ui.vm

import android.app.Application
import android.graphics.Bitmap
import android.text.TextUtils
import androidx.lifecycle.MutableLiveData
import com.cbtx.module.base.http.HttpManager
import com.cbtx.module.base.http.MyRequestCallBack
import com.cbtx.module.base.vm.BaseVM
import com.cbtx.module.common.bean.LoginRsBean
import com.cbtx.module.common.bean.request.LoginRqBean
import com.cbtx.module.common.http.HttpUrlManager
import com.cbtx.module_sp.bean.DeviceUserInfoBean
import com.cbtx.module_sp.bean.LoginTokenBean
import com.google.gson.Gson
import com.txcb.lib.base.utils.*

class SplashActivityVM(application: Application) : BaseVM(application) {

    val isAuthorization: MutableLiveData<Boolean> = MutableLiveData()
    val qrCodeBitmap: MutableLiveData<Bitmap> = MutableLiveData()

    /**
     * 判断设备是否绑定
     */
    fun isDeviceBind() {
        /*
            if (设备认证过){
                if(设备是否绑定){
                    直接进入主页
                } else {
                    创建绑定二维码，用户进行绑定操作（绑定完成，查询后端配置，获取伯乐号、手机号）
                }
            } else{

            }

        */
    }

    /**
     * 判断是否认证
     */
    fun isAuthorization() {
        if (TextUtils.isEmpty(SharedPreferencesUtils.loadString("authorization"))) {
            // 生成二维码供用户进行登录操作
            qrCodeBitmap.value = QRCodeUtil.createQRCodeBitmap(
                "https://gitee.com/iwumei/new_mips",
                ConvertUtils.dp2px(mApplication, 200f),
                ConvertUtils.dp2px(mApplication, 200f)
            )
            isAuthorization.value = false
        } else {
            // 直接进入主页
            isAuthorization.value = true
        }
    }

    /**
     * 获取设备请求通讯所需Token
     */
//    fun requestToken() {
//        val url = "${HttpUrlManager.LOGIN_DEVICE_TOKEN}${DeviceUtil.getSerialNumber(mApplication)}"
//        HttpManager.getInstance("")
//            .sendGet(url, HashMap(), object : MyRequestCallBack<LoginTokenBean>() {
//                override fun onSuccess(obj: LoginTokenBean?) {
//
//                    if (!TextUtils.isEmpty(obj?.data)) {
//                        authorization = obj?.data!!
//                        HttpManager.setAuthorization(authorization)
//                        SharedPreferencesUtils.saveString("authorization", obj?.data)
//                        requestDeviceUserInfo()
//                    } else {
//                        ToastUtil.showToast(obj?.msg)
//                        isAuthorization.value = false
//                    }
//                }
//
//                override fun onFailure(error: Int, msg: String?) {
//
//                }
//            })
//    }

    //step 1 : 获取登录绑定过的 设备地区
//    fun requestDeviceUserInfo() {
//        val url =
//            "${HttpUrlManager.LOGIN_DEVICE_USERINFO}${DeviceUtil.getSerialNumber(mApplication)}"
//        HttpManager.getInstance("")
//            .sendGet(url, HashMap(), object : MyRequestCallBack<DeviceUserInfoBean>() {
//                override fun onSuccess(obj: DeviceUserInfoBean?) {
//                    if (obj != null) {
//                        SharedPreferencesUtils.saveint("areaId", obj.areaId)
//                        isAuthorization.value = true
//                    } else {
//                        isAuthorization.value = false
//                    }
//                    LogUtil.d("")
//                }
//
//                override fun onFailure(error: Int, msg: String?) {
//
//                }
//            })
//    }

    /**
     * @param loginMemberNo 伯乐号
     * @param loginPhone    绑定的手机
     */
//    fun loginRq() {
//
//        var mLoginRqBean: LoginRqBean? = null
//
//        var url = ""
//        //公司投放
//        url = HttpUrlManager.LOGIN_DEVICE_COMPANY
//        mLoginRqBean?.deviceNo = DeviceUtil.getSerialNumber(mApplication)
//        mLoginRqBean?.launchAreaId = 0
//        mLoginRqBean?.roomCode = "203"
//        mLoginRqBean?.remarks = "marker"
//        mLoginRqBean?.macAddress = MacUtil.getMac()
//
//        val rqJson = Gson().toJson(mLoginRqBean)
//        HttpManager.getInstance("")
//            .sendPostJson(url, rqJson, object :
//                MyRequestCallBack<LoginRsBean>() {
//                override fun onSuccess(loginRsBean: LoginRsBean?) {
//                    if (loginRsBean != null) {
//                        if (!TextUtils.isEmpty(loginRsBean.data)) {
//                            SharedPreferencesUtils.saveString("authorization", loginRsBean.data)
//                            SharedPreferencesUtils.saveint("areaId", mLoginRqBean?.launchAreaId!!)
//                            isAuthorization.value = true
//                        } else {
//                            ToastUtil.showToast(loginRsBean.msg)
//                            isAuthorization.value = false
//                        }
//                    } else {
//                        ToastUtil.showToast("登录失败")
//                        isAuthorization.value = false
//                    }
//                }
//
//                override fun onFailure(error: Int, msg: String?) {
//                    ToastUtil.showToast(msg)
//                    isAuthorization.value = false
//                }
//            })
//    }


}